Method for executing functions in a vr environment

ABSTRACT

A wearable computing device includes a head-mounted display (HMD) that generates a virtual reality environment. Through the generation and tracking of positional data, a the virtual environment may be interrupted or paused. Upon pausing the environment, a user may access a number of ancillary menus and controls not otherwise available during normal operation of the virtual environment.

CROSS-REFERENCE TO RELATED APPLICATIONS

The present application is a continuation and claims the priority benefit of U.S. patent application Ser. No. 15/239,382 filed Aug. 17, 2016 issuing as U.S. Pat. No. 9,818,230, which is a continuation and claims the priority benefit of U.S. patent application Ser. No. 14/283,083 filed May 20, 2014 now U.S. Pat. No. 9,437,159, which claims the priority benefit of U.S. provisional patent application No. 61/931,583 filed Jan. 25, 2014, the disclosures of which are incorporated herein by reference.

BACKGROUND OF THE INVENTION Field of Invention

The present invention generally relates to wearable virtual reality (VR) computing devices having a head-mounted display (HMD). More specifically, the present invention relates to interrupting operations in the field of view in the HMD and utilizing non field of view real estate in the HMD.

Description of the Related Art

Wearable VR systems integrate various elements, such as input devices, sensors, detectors, image displays, and wireless communication components, as well as image and audio processors. By placing an image display element close to the eyes of a wearer, an artificial image can be made to overlay the view of the real world or to create an independent reality all its own. Such image display elements are incorporated into systems also referred to as head-mounted displays (HMDs). Depending upon the size of the display element and the distance to the eyes of the wearer, artificial images provided on the display may fill or nearly fill the field of view of the wearer.

VR systems incorporating an HMD are mobile and lightweight, while allowing for communication and interaction with a virtual environment. Such systems are generally lacking, however, in that they still require use of an independent controller for navigation of the virtual environment. In this sense, most HMDs are little more than goggles allowing for entry into a VR environment. There is a need in the art for navigation and control of a VR environment without introducing an independent controller device, especially with respect to interrupting operations of the environment in a natural and non-intrusive manner. There is a further need to best utilize non-field of view “real estate” in that VR environment.

SUMMARY OF THE CLAIMED INVENTION

Embodiments of the present invention include systems and methods for interrupting a virtual environment in a head-mounted display. Information may be stored regarding at least one control setting that associates a function with a change in position of the head-mounted display. The head-mounted display may be calibrated to identify a start position. Positional data that tracks movement of the head-mounted display may be generated. A current position of the head-mounted display may be determined to be indicative of a change from the start position that exceeds the change in position of the control setting. Then, the function associated with the control setting may be executed, which may involve interrupting the virtual environment in the head-mounted display by pausing the environment.

A method for interrupting a virtual environment in a head-mounted display is claimed. Such methods may include storing information regarding at least one control setting that associates a function with a change in position of the head-mounted display, calibrating the head-mounted display to identify a start position, generating positional data that tracks movement of the head-mounted display, determining that a current position of the head-mounted display is indicative of a change from the start position that exceeds the change in position of the control setting, and executing the function associated with the control setting, wherein the function comprises interrupting the virtual environment in the head-mounted display by pausing the environment.

Further embodiments include system for interrupting a virtual environment in a head-mounted display. Such systems may include memory that stores information regarding at least one control setting that associates a function with a change in position of the head-mounted display, at least one of a gyroscope, magnetometer, and an accelerometer that calibrates the head-mounted display, wherein a start position of the head-mounted display is identified and generates positional data that tracks movement of the head-mounted display, a processor that executes instructions stored in memory to determine that a current position of the head-mounted display is indicative of a change from the start position that exceeds the change in position of the control setting and to execute the function associated with the control setting, and a head-mounted display including at least one lens to display the virtual environment where execution of the function interrupts the environment by pausing the environment.

Embodiments of the present invention may further include non-transitory computer-readable storage media, having embodied thereon a program executable by a processor to perform methods interrupting a virtual environment in a head-mounted display as described herein.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 illustrates a block diagram of an exemplary wearable computing device.

FIG. 2A illustrates an HMD that completely immerses a wearer in a virtual reality environment.

FIG. 2B illustrates an HMD that allows for generation of VR information while maintaining perception of the real world.

FIG. 3 illustrates an exemplary implementation of an interrupt in the VR environment.

FIG. 4 illustrates a method for implementing an interrupt in the VR environment.

FIG. 5 illustrates the use of non-field-of-view real estate to provide information ancillary to the VR environment.

DETAILED DESCRIPTION

Embodiments of the present invention include systems and methods for interrupting a virtual environment in a head-mounted display. Information may be stored regarding at least one control setting that associates a function with a change in position of the head-mounted display. The head-mounted display may be calibrated to identify a start position. Positional data that tracks movement of the head-mounted display may be generated. A current position of the head-mounted display may be determined to be indicative of a change from the start position that exceeds the change in position of the control setting. Then, the function associated with the control setting may be executed, which may involve interrupting the virtual environment in the head-mounted display by pausing the environment.

FIG. 1 illustrates a block diagram of an exemplary wearable virtual reality system 100. In communication with an external computing device 110, wearable virtual reality system 100 may include a USB interface 120, wireless communication interface 130, gyroscope 140, accelerometer 150, magnetometer 160, data storage 170, processor 180, and head-mounted display (HMD) 200.

Head-mounted display (HMD) 200 allows its wearer to observe real-world surroundings, a displayed computer generated image, or a combination of the two. HMD 200 may include a see-through display in some embodiments. The wearer of wearable co virtual reality system 100 may be able to look through HMD 200 in such an embodiment and observe a portion of the real-world environment notwithstanding the presence of the wearable virtual reality system 100. HMD 200 in a further embodiment may be operable to display images that are superimposed on the field of view to provide an “augmented reality” experience. Some of the images displayed by HMD 200 may be superimposed or appear in relation to particular objects in the field of view. In a still further embodiment, HMD 200 may be a completely virtual environment whereby the wearer of the wearable virtual reality system 100 is isolated from any visual contact with the real world.

The displayed image may include graphics, text, and/or video; audio may be provided through a corresponding audio device. The images displayed by the HMD may be part of an interactive user interface and include menus, selection boxes, navigation icons, or other user interface features that enable the wearer to invoke functions of the wearable computing device or otherwise interact with the wearable computing device. The form factor of HMD 200 may be that of eyeglasses, goggles, a helmet, a hat, a visor, a headband, or in some other form that can be supported on or from the head of the wearer.

To display a virtual image to the wearer, the HMD may include an optical system with a light source such as a light-emitting diode (LED) that illuminates a display panel. The display panel may encompass a liquid crystal display panel (LCD). The display panel may generate light patterns by spatially modulating the light from the light source, and an image former forms a virtual image from the light pattern. Alternatively, the panel may be liquid crystal on silicon (LCOS) whereby a liquid crystal layer may be situated on top of a silicon backplane.

The HMD in an exemplary embodiment includes a 7 inch screen with non-overlapping stereoscopic 3D images whereby the left eye sees extra area to the left and the right eye sees extra area to the right. The HMD attempts to mimic normal human vision, which is not 100% overlapping. The field of view in an exemplary embodiment is more than 90 degrees horizontal (110 degrees diagonal) thereby filling approximately the entire field of view of the view such that the real world may be completely blocked out to create a strong sense of immersion.

An embodiment may utilize 1280×800 (16:10 aspect ratio) thereby allowing for an effective of 640×800, 4:5 aspect ratio per eye. In an embodiment that does not allow for complete overlap between the eyes, the combined horizontal resolution is effectively greater than 640. The displayed image for each eye is pin cushioned thereby generating a spherical-mapped image for each eye.

HMD 200 may communicate with external computing device(s) 110. External computing device(s) 110 are inclusive of application servers, databases, and other external computing components known in the art, including standard hardware computing components such as network and media interfaces, non-transitory computer-readable storage (memory), and processors for executing instructions or accessing information that may be stored in memory.

Wearable virtual reality system 100 may in some instances be physically connected to external computing device(s) 110. Such a connection may be implemented by way of a USB interface 120, which may be used to send data to and receive data from an external computing device 110 by way of a USB-compliant cabling. USB interface 120 may also be used to power the wearable virtual reality system 100 thereby potentially negating the need for an external power supply and any power cabling associated with the same. In some instances, a further power adapter (not shown) may be necessary to implement power by way of the USB interface 120. It should be understand that reference to USB is exemplary as other types of interfaces may be used including but not limited to FireWire, Lightning, as well as other cabled connection standards such as HDMI and DVI.

Wearable virtual reality system 100 of FIG. 1 includes a wireless communication interface 130. Wireless communication interface 130 may be used for wirelessly communicating with external computing device(s) 110. Wireless communication interface 130 may also be used for communicating with other wearable computing devices 100. Wireless communication interface 130 may utilize any number of wireless communication standards that support bi-directional data exchange over a packet-based network such as the Internet. Exemplary communication standards include CDMA, GSM/GPRS, 4G cellular, WiMAX, LTE, and 802.11 (WiFi).

Wearable virtual reality system 100 may include one or more of three-dimensional axis gyroscopes 140, accelerometers 150, and magnetometers 160 Gyroscope 140 may be utilized to measure orientation based on the principles of angular momentum. Accelerometer 150 may be used to detect magnitude and direction of acceleration as a vector quantity. This result can be used to sense orientation because direction of weight changes, coordinate acceleration correlated to g-force or a change in g-force, and vibration, shock, and falling in a resistive medium by way of a change in proper acceleration. Magnetometers 160 may be used to identify disturbances in a magnetic field relative the wearable virtual reality system 100. Magnetometer 160 can assist in the identification of true north for GPS and compass applications as well as assist with touchless or camera-less gesture input. By utilizing data generated from the foregoing, absolute head orientation tracking without drift relative to the earth may be calculated. Latency tracking may operate at approximately 1000 Hz to decrease response time and increase perceived realism. The displays of wearable virtual reality system 100 may be adjusted to allow the individual displays to be moved further or closer to the eyes of the wearer.

Wearable virtual reality system 100 may operate by way of the execution of non-transitory computer readable instructions stored in data storage 170, where execution occurs through operation of processor 180. While FIG. 1 illustrates data storage 170 and processor 180 as being present at wearable virtual reality system 100, such elements may be located in external computing device(s) 110 or in some instances, with executable operations distributed between the two. Processor 180 and executable instructions at data storage 170 may also control various aspects of USB interface 120, wireless interface 130, gyroscopes 140, accelerometers 150, and magnetometers 160.

FIG. 2A illustrates an HMD 200 that completely immerses a wearer in a virtual reality environment. While FIG. 2A is illustrated as immersive goggles, other form factors are possible and envisioned. The operation of elements in FIG. 2A are the same as those discussed in the context of FIG. 2B. FIG. 2A includes head-mounted support 210 that allows for wearable virtual reality system 100 (including HMD 200) to be positioned on the head of a wearer. HMD 200 further includes lens displays 220A and 220B that may be of LCD or LCOS construction as described above. Lens displays 220A and 220B may be an integrated part of wearable virtual reality system 100.

The manufacture of wearable virtual reality system 100 may allow for integration of components like those illustrated in FIG. 1 and various component interconnects to be internally integrated. Other components may be situated on the exterior of wearable virtual reality system 100 to allow for more ready access or physical connections to external computing device(s) 110. An embodiment of wearable virtual reality system 100 may include a microphone to allow for voice communication with other individuals utilizing wearable virtual reality system 100 or to allow for certain hands free control of the system 100.

FIG. 2B illustrates an HMD 200 that allows for generation of virtual reality information while maintaining perception of the real world. Such dual perception is provided for by not completely immersing the wearer within the confines of the virtual environment (i.e., the real world can still be seen and perceived). While HMD 200 of FIG. 2B is illustrated as a simple band other form factors are possible and envisioned. The operation of elements on FIG. 2B are the same as those discussed in the context of FIG. 2A.

FIG. 3 illustrates an exemplary implementation of an interrupt in the VR environment. As illustrated, the user 310 of HMD 200 is looking “down the line” or “dead center” of the VR environment 320, the center of which is reflected by ray 330. It should be noted that ray 330 is presented solely for the purpose of assisting with illustration and is not literally present in the VR environment 320 although it is possible that indicia of orientation could be displayed by the HMD 200 with respect to the virtual environment 320. As reflected by ray 330 and the line-of-sight of the user (340), both may be relatively parallel to one another.

Ray 330, while not a necessary illustrated element in the VR environment, may be determined from calibrating the HMD 200 when the user 310 first mounts the same to their head. By utilizing information generated by one or more of three-dimensional axis gyroscopes 140, accelerometers 150, and magnetometers 160, the wearable virtual reality system 100 may calculate a “start” or “neutral” position of the user and the VR environment from which further motion of the head of the user 310—and by extension the HMD 200—are adjudged. Such calibration may occur at the beginning of operation, during a manual reset, or in response to an automatic determination by the wearable virtual reality system 100 that positional information has “drifted” or is no longer correlating properly such that re-calibration is required. Such determination may occur through execution of software stored in memory 170 by processor 180.

Turning now to user 350 in FIG. 3, such user (which is the same user as user 310 but simply having turned their head approximately 45 degrees) has turned their head such that their line-of-sight is no longer parallel along ray 330 as established during the aforementioned calibration process. The new line-of-sight 340 ₁ reflects that the line-of-sight is now approximately 45 degrees (360) to the right of the originally established ray 330. By utilizing information generated by one or more of three-dimensional axis gyroscopes 140, accelerometers 150, and magnetometers 160, the wearable virtual reality system 100 may calculate how far the line-of-sight 340 ₁ has changed from ‘start’ or ‘neutral’ position of the user and that was used to establish ray 330.

Like ray 330, angle 360 is illustrated for assisting in the understanding of the implementation of an environmental interrupt or “pause” feature whereby activities in the environment are interrupted or put on hold to allow for some other function, including but not limited to menu navigation. But also like ray 330, angle 360 may be visually illustrated to the user in the virtual environment 320 as part of a graphical overlay. This information might be displayed as a geometric illustration showing the actual change in angle from center ray 330 or merely as a numerical indicator of the number of degrees (e.g., 12 degrees) of center 330 that the user has turned their head.

It should be noted that while an embodiment of the present invention specifically addresses an “interrupt” or “pause” functionality by way of the user turning their head in excess of a particular angle as illustrated in FIG. 3, other functionalities may be associated with the positional change (e.g., save function, reset function, re-start function). In this regard, the interrupt or “pause” function is exemplary. Still further, an embodiment might implement different angles with different functions. For example, “pause” might be implement after 20 degrees off of center 330, whereas save might be implemented after 30 degrees from center 330, and re-start after 45 degrees from center 330. Implementation of those functions may occur as soon as the degree change is reached or after the user leaves their head in a particular position change for a predetermined period of time.

FIG. 4 illustrates a method 400 for implementing an interrupt in the VR environment. The method 400 of FIG. 4 may be embodied as executable instructions in a non-transitory computer readable storage medium including but not limited to a CD, DVD, or non-volatile memory such as a hard drive. Such methodology may be implemented by processor 180 executing non-transitory computer readable instructions embodied in memory 170. Processor 180 and software stored in memory 170 may utilize data acquired from various other components of system 100 including three-dimensional axis gyroscopes 140, accelerometers 150, and magnetometers 160. The steps identified in FIG. 4 (and the order thereof) are exemplary and may include various alternatives, equivalents, or derivations thereof including but not limited to the order of execution of the same.

In step 410, a calibration process may commence. The calibration may occur at start-up of wearable virtual reality system 100 or in response to launching a particular application in the context of system 100. A user may also request a manual calibration, or the system 100 may require one due to positional drifts.

In response to the calibration process, information from three-dimensional axis gyroscopes 140, accelerometers 150, and magnetometers 160 is received in step 420. This information will be used to determine a neutral or “at rest” position from which all other angular calculations will be contextually judged. This determination may correspond, for example, to ray 330 as discussed in the context of FIG. 3. Measurements and calculations may take place on the X as well as the Y axis. In this regard, “pause” or other functions may be introduced not only by movements along the X-axis, but also along the Y-axis or even a combination of the two (e.g., a user raises their head to the right and beyond a certain position).

In step 430, various controls may be set with respect to positional data generated in step 420. The neutral position of ray 330 may be confirmed as well as various functions that may be implemented if the positional data of HMD 200 indicates that the user has turned their line-of-sight beyond a particular angle, which may include along a particular axis or axes. In some instances, various functions may be implemented for increasing angles of change. Time periods may also be implemented whereby a user must change their line-of-sight along a particular axis beyond a particular angle for a given period of time.

In step 440, tracking of HMD 200 commences using information generated by the likes of three-dimensional axis gyroscopes 140, accelerometers 150, and magnetometers 160. Throughout the tracking process, a continual check is made as to whether the position data of HMD 200 indicates that it has exceeded one of the limitations or controls set in step 430. For example, and as shown in FIG. 3, a determination is made as to whether the user has moved their head and hence their line-of-sight 340 beyond a particular control angle relative neutral ray 330. If the angle has not been exceeded (or not exceeded for a predefined period of time), then tracking continues at step 440, and checks relative to settings from step 430 continue to be made at step 450. If the user has, however, exceeded a positional setting along a particular axis for a particular period of time (or any other setting controlled at step 430), then the corresponding functionality—such as a “pause”—may be implemented at step 460.

FIG. 5 illustrates the use of non-field-of-view real estate to provide information ancillary to the VR environment. A user may be determined to have turned their field of view beyond a neutral or center setting, such as discussed in the context of FIG. 3. Because the user has paused the VR environment being displayed by HMD 200, the user may now attend to other activities in the real-estate areas that are not a direct part of VR environment and that would typically be relegated to the “peripheral vision” areas of the line-of-sight of the user.

For example, this area might include various menus and controls related to the VR environment or the application currently executing to generate the VR environment. It may further include data about the VR environment such as status of activity taking place in the environment (e.g., scores, health, inventory, etc.). The peripheral area real estate might also include status information concerning the system 100 or the HMD 200 of the system 100. Advertisements might also be displayed in this area. Other applications might also execute in this area, such as video calls, messages, or other real-time communications. By using this space for such data and allowing the user to access the same during a paused state, the primary line-of-sight area in the VR environment can be better utilized.

The present invention may be implemented in an application that may be operable using a variety of devices. Non-transitory computer-readable storage media refer to any medium or media that participate in providing instructions to a central processing unit (CPU) for execution. Such media can take many forms, including, but not limited to, non-volatile and volatile media such as optical or magnetic disks and dynamic memory, respectively. Common forms of non-transitory computer-readable media include, for example, a floppy disk, a flexible disk, a hard disk, magnetic tape, any other magnetic medium, a CD-ROM disk, digital video disk (DVD), any other optical medium, RAM, PROM, EPROM, a FLASHEPROM, and any other memory chip or cartridge.

Various forms of transmission media may be involved in carrying one or more sequences of one or more instructions to a CPU for execution. A bus carries the data to system RAM, from which a CPU retrieves and executes the instructions. The instructions received by system RAM can optionally be stored on a fixed disk either before or after execution by a CPU. Various forms of storage may likewise be implemented as well as the necessary network interfaces and network topologies to implement the same.

While various embodiments have been described above, it should be understood that they have been presented by way of example only, and not limitation. The descriptions are not intended to limit the scope of the invention to the particular forms set forth herein. Thus, the breadth and scope of a preferred embodiment should not be limited by any of the above-described exemplary embodiments. It should be understood that the above description is illustrative and not restrictive. To the contrary, the present descriptions are intended to cover such alternatives, modifications, and equivalents as may be included within the spirit and scope of the invention as defined by the appended claims and otherwise appreciated by one of ordinary skill in the art. The scope of the invention should, therefore, be determined not with reference to the above description, but instead should be determined with reference to the appended claims along with their full scope of equivalents. 

1. A method for executing a plurality of different functions within a virtual environment, the method comprising: storing information in memory regarding control settings that associate a plurality of different functionalities with different corresponding changes in position of a head-mounted display (HMD); calibrating a neutral position for the HMD, wherein the calibration is performed using one or more sensors; monitoring positional data associated with the HMD, wherein the monitored positional data is obtained via the one or more sensors; matching the monitored positional data of the HMD with a corresponding change in position of the HMD associated with the control settings; and executing the corresponding function associated with the matched positional data of the HMD after the HMD remains at the current position for a predetermined period of time.
 2. The method of claim 1, further comprising interrupting a display of a virtual environment in the HMD while the corresponding function is being executed.
 3. The method of claim 1, further comprising displaying the monitored positional data for the user to view on the HMD.
 4. The method of claim 3, wherein the displayed positional data includes the line of sight of the user.
 5. The method of claim 3, wherein the displayed positional data includes a ray that represents the neutral position of the HMD.
 6. The method of claim 3, wherein the displayed positional data includes an indication of the difference between a neutral position of the HMD and a current line of sight of the user.
 7. The method of claim 6, wherein the indication of the difference is illustrated via a geometric illustration.
 8. The method of claim 6, wherein the indication of the difference is illustrated as a numerical indicator.
 9. The method of claim 1, wherein the one or more sensors include gyroscopes.
 10. The method of claim 1, wherein the one or more sensors include accelerometers.
 11. The method of claim 1, wherein the one or more sensor include magnetometers.
 12. The method of claim 1, wherein the executed corresponding function includes a save function.
 13. The method of claim 1, wherein the executed corresponding function includes a reset function.
 14. The method of claim 1, wherein the executed corresponding function includes a restart function.
 15. The method of claim 1, wherein the predetermined period of time is set so that the corresponding function is executed as soon as the position data matches the change in position associated with the control setting.
 16. The method of claim 1, wherein the corresponding function is executed after the monitored position data changes after the HMD remains at the current position for the predetermined period of time.
 17. The method of claim 1, wherein the monitored positional data only looks at movements along one axis, the one axis being the x-axis or the y-axis.
 18. The method of claim 1, wherein the monitored positional data looks at movements using both the x-and y axis.
 19. A non-transitory computer-readable storage medium having embodied thereon a program, the program being executable by a processor to perform a method for executing a plurality of different functions within a virtual environment, the method comprising: storing information in memory regarding control settings that associate a plurality of different functionalities with different corresponding changes in position of a head-mounted display (HMD); calibrating a neutral position for the HMD, wherein the calibration is performed using one or more sensors; monitoring positional data associated with the HMD, wherein the monitored positional data is obtained via the one or more sensors; matching the monitored positional data of the HMD with a corresponding change in position of the HMD associated with the control settings; and executing the corresponding function associated with the matched positional data of the HMD after the HMD remains at the current position for a predetermined period of time. 